﻿//++
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
// Module Name:
//
//    IMAPIFolder.cs
//
// Abstract:
//    
//    Defines an interface for an MAPIFolder item to facilitate unit testing.
//
//--

using Microsoft.Office.Interop.Outlook;

namespace Microsoft.EnhancedReminders.OutlookAddIn
{
    /// <summary>
    /// Defines an interface for an MAPIFolder item to facilitate unit testing.
    /// </summary>
    public interface IMAPIFolder
    {
        /// <summary>
        /// Get root folder
        /// </summary>
        IMAPIFolder GetRootFolder
        {
            get;
        }

        /// <summary>
        /// Get an IStorageItem based on identifier
        /// </summary>
        /// <param name="createIfMissing">Indicates if the storage item should be created if not present</param>
        /// <returns>A StorageItem wrapped in an implementation of IStorageItem</returns>
        IStorageItem GetStorage(bool createIfMissing);
    }
}
